package jk.fox.exchange;

import java.net.SocketAddress;

/**
 * 底层Tcp接口包装对象
 * 设计思路(待确定):
 * 封装底层transport底层Tcp连接,作为transport和exchange连接
 * 放弃方案 添加该类的连接和发送数据功能
 * 放弃理由 造成连接与发送的多入口 代码不易管理
 * @author cuichao
 * @Description: ExchangeChannel
 * @Date: create in 2020/5/17 11:41
 */
public interface ExchangeChannel<T> {
    /**
     * 池化收集对应的key
     * @return
     */
    String key();
    /**
     * 获取Tcp连接对象
     * @return
     */
    T channel();
    /**
     * 是否可用
     * @return
     */
    boolean isAlive();
    /**
     * 连接地址
     * @return
     */
    SocketAddress remoteAddress();


}
